﻿using System.Collections.Generic;

namespace Cms.Domain.RepositoryInterfaces
{
    public interface IContentRepository
    {
        Content GetContent(int id);

        ContentTranslationVersion GetContentTranslationVersion(int id);

        IList<ContentTranslationVersion> GetContentWithReferencesTo(string virtualPath, int siteId);

        void DeleteContent(int id);

        IList<Content> ListContent(SearchContentFilter filter, int skipFirstCount, int returnCount, IList<int> categoryIDs);

        IList<Content> SearchContent(ref SearchContentFilter filter, int siteID, IList<int> categoryIDs);

        void DeleteScheduledPublishing(int id);

        IList<ScheduledPublishing> GetScheduledPublishings(int siteID);

        void ExecuteScheduledPublishings();

        RssFeed GetRssFeed(int siteId, string filename);
    
        RssFeed GetRssFeed(int id);
    }
}